4.5.2.1 编辑WEB应用
Path: /api/v1/resource/updateResource
Method: POST
接口描述:
- 对于
ext
、webConf
和openModel
参数,暂不支持增量修改。ext
、webConf
或openModel
参数可不传,但若需要传递ext
、webConf
或openModel
参数,须完整传递ext
、webConf
或openModel
下的所有字段。进行ext
、webConf
或openModel
字段修改时,请先调用查询应用详情接口/api/v1/resource/queryResource
获取完整的ext
、webConf
或openModel
内容 - 对于除
ext
、webConf
和openModel
参数之外的更新接口中的其他非必须参数,如果不传,不会对该条数据相对应参数进行修改 - 桌面云应用,全网泛域名应用请使用控制台修改
请求参数
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/json | 是 |
Body
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
id | string | 非必须 | ID | 应用ID和应用名称至少传一个,用于查找到对应的应用。应用ID可通过查询应用列表接口搜索到 | |
name | string | 非必须 | 应用名称 | 同时传ID和名称时,查找应用以ID为准,并会修改该ID对应应用的名称。只传名称时,查找应用以名称为准,此时无法修改应用的名称 | |
nodeGroupId | string | 非必须 | 节点区域id, 应用所属节点区域的id | 综合网关无需填写 | |
nodeGroupName | string | 非必须 | 节点区域名称, 应用所属节点区域的名称, nodeGroupId 与 nodeGroupName 同时传输时 nodeGroupName 不生效 | 综合网关无需填写 | |
description | string | 非必须 | 描述 | ||
groupId | string | 非必须 | 所属应用分类ID | 可通过应用分类查询接口获取ID | |
groupName | string | 非必须 | 所属应用分类名称, groupId 与 groupName 同时传输时 groupName 不生效 | ||
status | number | 非必须 | 启用状态,0禁用,1启用 | mock: 1 | |
iconId | string | 非必须 | 预置的图标ID,"1"~"31"可供选择 | 自定义图标设置建议在控制台中配置 | |
allowApply | number | 非必须 | 允许用户自助申请此应用,0不允许,1允许 | ||
applyForInfo | object | 非必须 | 用户申请信息(修改需要传全量结构) | ||
├─ content | string | 非必须 | 告警内容 | ||
├─ accessReason | string[] | 非必须 | 申请理由 | ||
appAddress | string | 非必须 | 后端应用服务器地址 | mock: https://1.2.3.1 | |
aliasAppAddresses | string | 非必须 | 后端应用服务器地址别名,英文逗号分隔 | mock:https://1.1.1.2,https://1.1.1.3,https://1.1.1.4 | |
accessAddress | string | 非必须 | 前端应用访问地址 | mock: https://testweb.com | |
accessEntry | string | 必须 | 浏览器打开地址 | mock: https://testweb.com/ | |
trustedCertId | string | 非必须 | 授信证书ID,可以根据证书ID或者名称进行指定,默认内置web应用证书ID为"default" | ||
trustedCertName | string | 非必须 | 授信证书名称, trustedCertId 与 trustedCertName 同时传输时 trustedCertName 不生效 | ||
sm2signCertId | string | 非必须 | 商密签名证书ID,默认内置商密签名证书ID为"sm2sign" | enableGm为1,且前端地址为https时,必须指定商密签名证书( 仅适用于2.2.16及以上版本) | |
sm2signCertName | string | 非必须 | 商密签名证书名称 | sm2signCertId 和 sm2signCertName 只传一个即可,都传以sm2signCertId为准( 仅适用于2.2.16及以上版本) | |
sm2encCertId | string | 非必须 | 商密加密证书ID,默认内置商密加密证书ID为"sm2enc" | enableGm为1,且前端地址为https时,必须指定商密加密证书( 仅适用于2.2.16及以上版本) | |
sm2encCertName | string | 非必须 | 商密加密证书名称 | sm2encCertId 和 sm2encCertName 只传一个即可,都传以sm2encCertId为准( 仅适用于2.2.16及以上版本) | |
enableGm | number | 非必须 | 0 | 应用是否启用中国商用密码标准传输 | 1代表启用,0代表禁用( 仅适用于2.2.16及以上版本) |
enableBackupCert | number | 非必须 | 0 | 是否启用备用授信证书 | 1代表启用,0代表禁用。仅当enableGm为1时启用才有意义 |
ext | object | 非必须 | 扩展字段 | ||
├─ hide | number | 非必须 | 在用户应用中心隐藏,0不隐藏,1隐藏 | ||
├─ dependSites | object | 非必须 | 依赖站点配置,依赖站点功能需要配置泛域名的授信证书才能开启 | ||
├─├─ enable | number | 非必须 | 是否启用,0禁用,1启用 | ||
├─├─ panDomain | string | 非必须 | 泛域名 | ||
├─├─ siteList | object[] | 非必须 | 依赖站点 | ||
├─├─├─ appAddress | string | 非必须 | 后端地址 | ||
├─├─├─ accessAddress | string | 非必须 | 前端访问地址 | ||
├─ paths | string [] | 非必须 | URL路径规则 | item 类型: string | |
├─ pathType | number | 非必须 | URL路径规则类型, 0白名单,1黑名单 | ||
├─ pathStatus | number | 非必须 | URL路径规则启用状态, 0禁用,1启用 | ||
├─ security | object | 非必须 | 应用安全配置 | ||
├─├─ watermark | object | 非必须 | 水印配置 | ||
├─├─├─ enable | number | 非必须 | 是否启用,0禁用,1启用 | ||
├─ openModel | object | 非必须 | 打开方式(仅用于配置windows平台的浏览器打开方式) | 2.3.10版本后不建议再使用该字段,请使用后文所述的openModel字段。如果两者共存,以后文的openModel配置为准 | |
├─├─ model | string | 非必须 | default-browser | 方式,有如下几种值: 1. default-browser(默认浏览器) 2. custom-browser(自定义浏览器) |
mock: default-browser |
├─├─ programName | string | 非必须 | 程序名称,如果model填写的custom-browser时,则此项需要填写, 参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 programName 列 | ||
├─├─ processName | string | 非必须 | 进程名,如果填写了programName,则需要填写此项,每种浏览器对应的进程名参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 processName 列 | ||
├─├─ issuerName | array | 非必须 | 签名者名称,如果填写了programName,则需要填写此项,每种浏览器对应的签名者名称参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 issuerName 列 | ||
├─├─ originalFilename | string | 非必须 | 原始文件名,如果填写了programName,则需要填写此项,每种浏览器对应的原始文件名参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 originalFilename 列 | ||
├─├─ useDefaultBrowser | number | 非必须 | 允许在未找到该浏览器时自动打开默认浏览器,0不允许,1允许 | ||
ssoConfig | object | 非必须 | 单点登录配置, 不建议通过openAPI进行配置 | ||
├─ enable | boolean | 非必须 | 不建议通过openAPI进行配置,请直接传false | mock: false | |
openModel | object | 非必须 | 打开方式(新版,适用于2.3.10之后的版本) | 定义用户在工作台点击应用时的效果 | |
├─ platform | object | 非必须 | 不同平台的打开方式 | ||
├─├─ windows | object | 非必须 | Windows平台的打开方式 | 不传时,用户在客户端工作台点击应用将会使用默认浏览器拉起 | |
├─├─├─ model | string | 非必须 | default-browser | 方式,有如下几种值: 1. default-browser(默认浏览器) 2. custom-browser(自定义浏览器) |
mock: default-browser |
├─├─├─ browser | object | 非必须 | 打开方式为"default-browser"或"custom-browser"时的详细配置 | ||
├─├─├─├─ programName | string | 非必须 | 程序名称,如果model填写的custom-browser时,则此项需要填写, 参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 programName 列 | ||
├─├─├─├─ processName | string | 非必须 | 进程名,如果填写了programName,则需要填写此项,每种浏览器对应的进程名参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 processName 列 | ||
├─├─├─├─ issuerName | string | 非必须 | 签名者名称,如果填写了programName,则需要填写此项,每种浏览器对应的签名者名称参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 issuerName 列 | ||
├─├─├─├─ originalFilename | string | 非必须 | 原始文件名,如果填写了programName,则需要填写此项,每种浏览器对应的原始文件名参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 originalFilename 列 | ||
├─├─├─├─ useDefaultBrowser | number | 非必须 | 允许在未找到该浏览器时自动打开默认浏览器,0不允许,1允许 | ||
├─├─├─├─ enableExecArgs | number | 非必须 | 是否在打开时携带额外启动参数 | 仅当model为"custom-browser"时有效 | |
├─├─├─├─ execArgs | string[] | 非必须 | 额外启动参数列表 | ||
├─├─├─├─ hint | object | 非必须 | 未找到浏览器时的提示语 | 仅当useDefaultBrowser为0时才会显示提示语 | |
├─├─├─├─├─ zh-cn | string | 非必须 | 中文提示语 | ||
├─├─├─├─├─ en-us | string | 非必须 | 英文提示语 | ||
├─├─ mac | object | 非必须 | MacOS平台的打开方式 | 子对象结构和字段定义与Windows平台的打开方式完全相同,以下省略。不传时,用户在客户端工作台点击应用将会使用默认浏览器拉起 | |
├─├─ linux | object | 非必须 | Linux平台的打开方式 | 不传时,用户在客户端工作台点击应用将会使用默认浏览器拉起 | |
├─├─├─ model | string | 非必须 | default-browser | 方式,有如下几种值: 1. default-browser(默认浏览器) 2. custom-browser(自定义浏览器) |
mock: default-browser |
├─├─├─ browser | object | 非必须 | 打开方式为"default-browser"或"custom-browser"时的详细配置 | ||
├─├─├─├─ useDefaultBrowser | number | 非必须 | 允许在未找到该浏览器时自动打开默认浏览器,0不允许,1允许 | ||
├─├─├─├─ hint | object | 非必须 | 未找到浏览器时的提示语 | 仅当useDefaultBrowser为0时才会显示提示语。子对象结构和字段定义与Windows平台的hint字段完全相同,以下省略 | |
├─├─├─├─ uos | object | 非必须 | UOS子平台的浏览器打开方式配置 | ||
├─├─├─├─├─ programName | string | 非必须 | 程序名称,如果model填写的custom-browser时,则此项需要填写, 参考 《附录3:打开方式中浏览器信息对应表-Linux》 中的 programName 列 | ||
├─├─├─├─├─ processName | string | 非必须 | 进程名,如果填写了programName,则需要填写此项,每种浏览器对应的进程名参考 《附录3:打开方式中浏览器信息对应表-Linux》中的 processName 列 | ||
├─├─├─├─ kylin | object | 非必须 | 麒麟子平台的浏览器打开方式配置 | 子对象结构和字段定义与UOS子平台完全相同,以下省略 | |
├─├─├─├─ ubuntu | object | 非必须 | Ubuntu子平台的浏览器打开方式配置 | 子对象结构和字段定义与UOS子平台完全相同,以下省略 | |
pathListLimit | number | 非必须 | 0 | 是否启用url发布 | |
webConf | object | 非必须 | {} | web应用相关配置 | |
├─passReqHost | number | 非必须 | 1 | 启用负载均衡时,往往需要将前端域名作为host头部传到上游,实现透明代理。 | |
├─ loadBalance | object | 非必须 | {} | 负载均衡配置 | |
├─├─ enable | number | 非必须 | 0 | 是否启用负载均衡 | |
├─├─ protocol | string | 非必须 | 负载均衡的后端服务器地址协议,包括https或者http | ||
├─├─ nodeList | object[] | 非必须 | 负载均衡多个后台服务器地址列表 | ||
├─├─├─ addr | string | 非必须 | 都在均衡模式下,后台服务器地址,注意不能填写协议头,如192.168.0.1:443 | ||
├─├─ type | string | 非必须 | 负载均衡算法,包含ip源地址hash,轮询,头部属性hash,cookie属性哈希,分别是ipHash,rr,headerHash,cookieHash,其中头部、cookie属性hash还需要配置key,指定一个hash的属性。 | ||
├─├─ key | string | 非必须 | 负载均衡算法选择头部属性、cookie属性hash时指定的hash属性。 | ||
├─├─ healthCheck | object | 非必须 | 负载均衡健康检查 | ||
├─├─├─ enable | number | 非必须 | 0 | 是否启用健康检查 | |
├─├─├─ active | object | 非必须 | 主动健康检查配置 | ||
├─├─├─ type | string | 非必须 | tcp | 健康检查协议,支持tcp和http | |
├─├─├─ timeout | number | 非必须 | 10 | 健康检查超时时间,支持1-3600秒 | |
├─├─├─ httpPath | string | 非必须 | / | 健康检查的http接口url,当type为http时生效且必填 | |
├─├─├─ healthy | object | 非必须 | 健康节点相关配置 | ||
├─├─├─├─ interval | number | 非必须 | 10 | 健康节点的检查间隔,支持1-3600秒 | |
├─├─├─├─ httpsStatuses | number[] | 非必须 | [200,302] | 健康节点返回的httpcode,当type为http时生效 | |
├─├─├─├─ successes | number | 非必须 | 3 | 健康判定次数,支持1-50次 | |
├─├─├─ unhealthy | object | 非必须 | 故障节点相关配置 | ||
├─├─├─├─ interval | number | 非必须 | 10 | 故障节点的检查间隔,支持1-3600秒 | |
├─├─├─├─ failures | number | 非必须 | 3 | 故障判定次数,支持1-50次 | |
├─ pathList | object[] | 非必须 | url细粒度发布配置,可以发布域名下的指定路径。 | ||
├─├─ path | string | 非必须 | 路径支持"*"通配符在结尾,进行模糊匹配;不带"*"时是精确匹配模式。 | ||
├─├─ desc | string | 非必须 | 发布路径的备注,建议填写发布路径的初衷,方便后续维护 | ||
├─excludePathStatus | number | 非必须 | 0 | 是否启用url发布排除路径,启用后可以在发布路径中排除部分路径 | |
├─excludePathList | object[] | 非必须 | url发布排除路径列表 | ||
├─├─ path | string | 非必须 | 路径支持"*"通配符在结尾,进行模糊匹配;不带"*"时是精确匹配模式。需要保证排除路径是已经发布的pathList中路径的字路径。 | ||
├─├─ desc | string | 非必须 | 排除路径的备注,建议填写排除路径的初衷,方便后续维护 |
请求示例1-修改描述以及节点区域
{
"name": "[RDP]张三的windows桌面",
"description": "简单的描述",
"nodeGroupName": "新的节点区域名称"
}
请求示例2-修改应用名称
{
"id": "162a5d3c-2266-4643-9c50-c5e619fa7e6e",
"name": "修改后的应用名称",
}
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
code | number | 必须 | 错误码 | ||
data | object | 必须 | 数据字段 | ||
msg | string | 必须 | 描述信息 |
错误信息
错误提示 | 错误码 |
---|---|
参数检查出错 | 10000001 |
WEB全网应用特性已%s,当前操作不允许执行,请刷新后重试 | 10000001 |
subModel 与 accessModel 不匹配,需要是 %s 之一 | 10000001 |
一个服务器地址只能对应一个访问地址,请先禁用或删除已存在的应用,再匹配新的服务器地址或访问地址 | 77200010 |
主站点前端地址或别名与依赖站点前端地址或别名冲突 | 10000001 |
依赖站点(%s)同时存在当前应用和应用(%s)配置中,为避免冲突建议将此子站点配置为独立应用 | 77200010 |
保存失败,应用单点登录配置有误 | 10000001 |
前端地址别名必须是url格式,如:https://192.168.1.1:443 | 77200010 |
前端访问地址不能为空 | 10000001 |
前端访问地址与客户端接入地址冲突 | 77200018 |
前端访问地址端口与证书认证端口冲突 | 77200018 |
单个主站点的依赖站点数量超过最大个数限制 | 10000001 |
单点登录设置中界面控件名称存在冲突 | 10000001 |
名称不能为空 | 10000001 |
地址列表超过最大个数限制 | 10000001 |
地址格式非法,开启域名排除地址特性时,隧道泛域名服务器地址最多只能有1个 * 且只能出现在首位 | 10000001 |
应用分类不存在 | 77200001 |
应用名(%s)已存在 | 77200005 |
应用图标不存在,请检查应用图标ID | 10000001 |
应用地址:(%s)格式错误,请输入如:192.168.1.1,192.168.1.1/24,192.168.1.1-192.168.1.10,www.xxx.com | 77200010 |
应用总数已达上限,无法继续新增 | 77200007 |
当前保存的泛域名与数据库中的记录不匹配,请返回上一级再尝试编辑 | 10000001 |
当前未配置WEB全网应用,请先配置WEB全网应用 | 10000001 |
当只改写不监听前端地址时,必须有前端地址别名 | 10000001 |
所有的服务器地址均被排除 | 77200010 |
授信证书不能为空 | 10000001 |
排除后生成的服务器地址数为:%s 超过限制:%s! | 77200041 |
排除地址 %s %s:%s 范围大于服务器地址 | 77200040 |
排除地址 %s 不在已配置的服务器地址中 | 77200040 |
排除地址不能为域名 | 10000001 |
服务器地址必须是url格式,如:https://192.168.1.1:443 | 77200010 |
根据排除地址生成的应用地址数量超过限制 | 77200041 |
格式错误,请输入如:192.168.1.1,192.168.1.1/24,192.168.1.1-192.168.1.10,www.xxx.com | 77200010 |
格式错误,请输入如:443,1-65535 | 77200010 |
此主站点存在多个前端地址相同的依赖站点 | 77200010 |
此主站点存在重复的依赖站点 | 77200010 |
泛域名应用前端访问地址不允许包含'.' | 10000001 |
泛域名长度不能超过%s个字符,否则将无法同步更新泛域名应用 | 10000001 |
登录界面地址的协议、主机名及端口需与该应用后端服务器地址保持一致 | 10000001 |
端口(%s)格式错误,请输入如:443,1-65535 | 77200010 |
网络区域不存在 | 10000001 |
自定义请求头部改写地址必须为后端服务器地址或任一别名地址 | 10000001 |
节点区域不存在 | 77200001 |
访问地址别名必须是url格式,如:https://192.168.1.1:443 | 77200010 |
访问地址必须是url格式,如:https://192.168.1.1:443 | 77200010 |
访问理由不能为空 | 10000001 |
证书解析失败,强制导入后,将修改为内置web应用证书 | 10000001 |
该应用的依赖站点(%s)和其他应用的前端地址存在冲突 | 77200010 |
该应用的依赖站点(%s)和应用(%s)的前端地址存在冲突 | 77200010 |
该应用的前端访问地址与依赖站点地址存在冲突 | 77200010 |
该应用的前端访问地址与应用(%s)的依赖站点存在冲突 | 77200010 |
该应用的后端访问地址与依赖站点地址存在冲突 | 77200010 |
选择的授信证书不存在 | 10000001 |
隧道应用排除地址范围大于应用地址 | 77200040 |
隧道应用服务器地址非法 | 10000001 |
附录1:打开方式中浏览器信息对应表-Windows
浏览器名称(programName) | 进程名(processName) | 签名者名称(issuerName) | 原始文件名(originalFilename) | 备注 | 其他信息 |
---|---|---|---|---|---|
Google Chrome(谷歌浏览器) | chrome.exe | Google LLC | chrome.exe | ||
Internet Explorer(IE浏览器) | iexplore.exe | Microsoft Corporation | IEXPLORE.EXE | ||
360安全浏览器 | 360se.exe | Beijing Qihu Technology Co., Ltd. | 360se.exe | ||
360极速浏览器 | 360chrome.exe | Beijing Qihu Technology Co., Ltd. | 360chrome.exe | ||
Firefox(火狐浏览器) | firefox.exe | Mozilla Corporation | firefox.exe | ||
Microsoft Edge | msedge.exe | Microsoft Corporation | msedge.exe | ||
QQ浏览器 | QQBrowser.exe | Tencent Technology(Shenzhen) Company Limited | QQBrowser.exe | ||
搜狗浏览器 | SogouExplorer.exe | Beijing Sogou Technology Development Co., Ltd. | 该浏览器不存在原始文件名 |
附录2:打开方式中浏览器信息对应表-MacOS
浏览器名称(programName) | 进程名(processName) | 签名者名称(issuerName) | 原始文件名(originalFilename) | 备注 | 其他信息 |
---|---|---|---|---|---|
谷歌浏览器 | Google Chrome.app | Google LLC | Google Chrome.app | ||
Safari | Safari.app | Apple Code Signing Certification Authority | Safari.app | ||
火狐浏览器 | Firefox.app | Mozilla Corporation | Firefox.app | ||
360浏览器 | 360Chrome.app | Beijing Qihoo Technology Co Ltd | 360Chrome.app | ||
Microsoft Edge | Microsoft Edge.app | Microsoft Corporation | Microsoft Edge.app | ||
QQ浏览器 | QQBrowser.app | Tencent Technology (Shenzhen) Company Limited | QQBrowser.app | ||
Opera浏览器 | Opera.app | Opera Software AS | Opera.app |
附录3:打开方式中浏览器信息对应列表-Linux
浏览器名称(programName) | 进程名(processName) | 备注 | 其他信息 |
---|---|---|---|
UOS浏览器 | 浏览器 | 仅支持UOS子平台 | |
火狐浏览器 | Firefox 网络浏览器 | ||
龙芯浏览器 | 龙芯浏览器 | 不支持Ubuntu子平台 | |
奇安信浏览器 | 奇安信可信浏览器 | ||
360浏览器 | 360安全浏览器 | ||
谷歌浏览器 | Google Chrome | ||
红莲花浏览器 | 红莲花安全浏览器 |
附录4:打开方式支持的系统应用名称表-Windows
程序名称(programName) | 代表的实际程序 | 备注 | 其他信息 |
---|---|---|---|
remoteDesktop | 远程桌面 | ||
file | 文件资源管理器 |